package com.init.bootframe.system.dao;

import java.util.List;

import com.init.bootframe.system.vo.OrgRoleVO;
import com.init.bootframe.system.vo.OrgVO;
import org.springframework.stereotype.Repository;

@Repository
public interface IOrgDao {

	/**
	 * 添加栏目
	 * 
	 * @param orgVO
	 * @return
	 */
	public void addOrg(OrgVO orgVO);

	/**
	 * 查询栏目
	 * 
	 * @param orgVO
	 * @return
	 */
	public OrgVO findOrg(OrgVO orgVO);

	/**
	 * 修改栏目
	 * 
	 * @param orgVO
	 * @return
	 */
	public void updateOrg(OrgVO orgVO);

	/**
	 * 批量修改菜单的位置
	 * 
	 * @param orgVO
	 */
	public void updateBatchOrg(OrgVO orgVO);

	/**
	 * 删除栏目
	 * 
	 * @param orgVO
	 * @return
	 */
	public void deleteOrg(OrgVO orgVO);

	/**
	 * 根据用户查询栏目
	 * 
	 * @param orgVO
	 * @return
	 */
	public List<OrgVO> findUserOrgOne(OrgVO orgVO);

	/**
	 * 查询栏目
	 * 
	 * @param orgVO
	 * @return
	 */
	public List<OrgVO> findOrgs(OrgVO orgVO);

	/**
	 * 查询组织角色信息
	 * 
	 * @param orgRoleVO
	 * @return
	 */
	public List<OrgRoleVO> findOrgRoleList(OrgRoleVO orgRoleVO);

	/**
	 * 增加组织角色信息
	 * 
	 * @param orgRoleVO
	 */
	public void addOrgRole(OrgRoleVO orgRoleVO);

	/**
	 * 删除组织角色信息 -
	 * 
	 * @param orgRoleVO
	 */
	public void deleteOrgRole(OrgRoleVO orgRoleVO);

	/**
	 * 使用函数查询当前组织以及上级组织
	 * @param orgVO
	 */
	public List<OrgVO> findSuperOrgList(OrgVO orgVO);
}
